package com.minimalist.lindi.service;

import com.minimalist.common.config.mybatis.bo.PageResp;
import com.minimalist.common.entity.lindi.po.LindiLaws;
import com.minimalist.common.entity.lindi.vo.laws.LindiLawsQueryVO;
import com.minimalist.common.entity.lindi.vo.laws.LindiLawsVO;
import com.mybatisflex.core.service.IService;

/**
 * 林地指标交易平台_政策法规表 服务层。
 *
 * @author 11987
 * @since 2025-06-12
 */
public interface LindiLawsService extends IService<LindiLaws>{

    /**
     * 新增政策法规
     *
     * @param lawsVO 政策法规
     */
    void addLaws(LindiLawsVO lawsVO);

    /**
     * 根据政策法规ID删除政策法规
     *
     * @param lawsId 政策法规ID
     */
    void deleteLawsByLawsId(Long lawsId);

    /**
     * 根据政策法规ID更新政策法规
     *
     * @param lawsVO 政策法规
     */
    void updateLawsByLawsId(LindiLawsVO lawsVO);

    /**
     * 根据条件查询政策法规列表
     *
     * @param queryVO 条件查询
     * @return 政策法规列表
     */
    PageResp<LindiLawsVO> getPageLawsList(LindiLawsQueryVO queryVO);

    /**
     * 根据政策法规ID查询政策法规详情
     *
     * @param lawsId 政策法规ID
     * @return 政策法规详情
     */
    LindiLawsVO getLawsByLawsId(Long lawsId);

    /**
     * 前台网站查询政策法规分页列表
     *
     * @param queryVO 查询条件
     * @return 政策法规分页列表
     */
    PageResp<LindiLawsVO> getWebsiteLawsList(LindiLawsQueryVO queryVO);

    /**
     * 前台网站查询政策法规详情
     *
     * @param lawsId 政策法规ID
     * @return 政策法规详情
     */
    LindiLawsVO getWebsiteLawsDetail(Long lawsId);
}
